A standard protocol for the storage and transmission of sound information is the MIDI (Musical Instrument Digital Interface) system, specified by MIDI Manufacturers Association. The invention is discussed in the context of MIDI for convenience because that is a well known, commercially available standard. Other standards could be used instead, and the invention is not confined to MIDI.
The information exchanged between two MIDI devices is musical in nature. MIDI information informs a music synthesizer, in a most basic mode, when to start and stop playing a specific note. Other information includes, e.g. the volume and modulation of the note, if any. MIDI information can also be more hardware specific. It can inform a synthesizer to change sounds, master volume, modulation devices, and how to receive information. MIDI information can also be used to indicate the starting and stopping points of a song or the metric position within a song. Other applications include using the interface between computers and synthesizers to edit and store sound information for the synthesizer on the computer.
The basis for MIDI communication is the byte, and each MIDI command has a specific byte sequence. The first byte of the MIDI command is the status byte, which informs the MIDI device of the function to perform. Encoded in the status byte is the MIDI channel. MIDI operates on 16 different channels, numbered 1 through 16. MIDI units operate to accept or ignore a status byte depending on what channel the unit is set to receive. Only the status byte has the MIDI channel number encoded, and all other bytes are assumed to be on the channel indicated by the status byte until another status byte is received.
A Network Musical Performance (NMP) occurs when a group of musicians, located at different physical locations, interact over a network to perform as they would if located in the same room. Reference in this regard can be had to a publication entitled “A Case for Network Musical Performance”, J. Lazzaro and J. Wawrzynek, NOSSDAV<01, Jun. 25–26, 2001, Port Jefferson, N.Y., USA. These authors describe the use of a client/server architecture employing the IETF Real Time Protocol (RTP) to exchange audio streams by packet transmissions over a network. Related to this publication is another publication: “The MIDI Wire Protocol Packetization (MWPP)”, also by J. Lazzaro and J. Wawrzynek, http://www.ietf.org/internet-drafts/draft-ietf-avt-mwpp-midi-rtp-02.txt, Internet Draft, Feb. 28, 2002 (expires Aug. 28, 2002).
General MIDI (GM) is a wide spread specification family intended primarily for consumer quality synthesizers and sound cards. Currently there exist two specifications: GM 1.0, “General MIDI Level 1.0”, MIDI Manufacturers Association, 1996, and GM 2.0, “General MIDI Level 2.0”, MIDI Manufacturers Association, 1999. Unfortunately, these specifications require the use of high polyphony (24 and 32), as well as strenuous sound bank requirements, making them less than optimum for use in low cost cellular telephones and other mobile stations.
In order to overcome these problems, the MIDI Manufacturers Association has established a Scalable MIDI working group that has formulated a specification, referred to as SP-MIDI, that has become an international third generation (3G) standard for mobile communications. In order to have the most accurate references, this application will quote from the specification from time to time. SP-MIDI's polyphony and sound bank implementations are scalable, which makes the format better suited for use in mobile phones, PDAs and other similar devices. Reference with regard to SP-MIDI can be found at www.midi.org., more specifically in a document entitled Scalable Polyphony MIDI Specification, The MIDI Manufacturers Association, Los Angeles, Calif., and in a document entitled Scalable Polyphony MIDI Specification and Device Profiles which is incorporated by reference herein.
As wireless telecommunications systems and terminals evolve it has become desirable to provide high quality audio applications that run in this environment. Examples of applications are in providing users an ability to listen to high quality music, as well as high quality sound generation, such as musical ringing tones for telephones.